package IO.sortie;

import librairies.liste.interfaces.IListeE;
import IO.sortie.interfaces.IOut;
import IO.sortie.out.Terminal;

/**
 * 
 * permet de gerer les sorties.
 * 
 * @author mlozach
 */
public class Out 
{
	private static Out instance;

	private IOut out;
	
	/**
	 * pour le singleton
	 */
	public static Out getInstance() 
	{
		if (instance == null) instance = new Out();
		return instance;
	}
	
	/**
	 * constructeur par defaut.
	 */
	private Out()
	{
		this.out = new Terminal();
	}
	
	/**
	 * permet de lancer la valeur vers la sortie standard.
	 * @param value la valeur.
	 */
	public void sortieStandard(String value)
	{
		this.out.sortieNormal(value);
	}

	/**
	 * permet de lancer la valeur vers la sortie standard.
	 * @param value la valeur.
	 */
	public void sortieStandard(IListeE<String> result) 
	{
		if(result == null) return;
		for(int i = 0; i < result.size(); ++i)
		{
			this.out.sortieNormal(result.get(i));
		}
	}
}
